﻿//-----------------------------------------------------------------------
// <copyright>
// This file is subject to the terms and conditions of the Microsoft Public License (MS-PL).
// See http://www.microsoft.com/opensource/licenses.mspx#Ms-PL for more details.
// </copyright>
//----------------------------------------------------------------------- 
using System;
using System.Windows.Threading;

namespace Fulcrum.UnitTests.DispatcherProxies
{
    public class MyDispatcherClass : DispatcherObject
    {
        public MyDispatcherClass()
        {
            // nothing
        }

        public virtual long Method(int value, string anotherValue)
        {
            return this.OnMethodCalled( value, anotherValue);
        }

        protected virtual long OnMethodCalled(int value, string anotherValue)
        {
            throw new NotImplementedException();
        }

        public virtual event EventHandler OverrideEvent;

        protected void OnOverrideEvent()
        {
            var eh = this.OverrideEvent;

            if (eh != null)
            {
                eh(this, EventArgs.Empty);
            }
        }

        public virtual int OverrideReadProperty
        {
            get
            {
                return this.OnOverrideReadProperty();
            }
        }

        protected virtual int OnOverrideReadProperty()
        {
            throw new NotImplementedException();
        }

    }
}
